Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit d040898ad84734e93bc9c7d4f1a8b4233583701d


Parents : c933240
Author : Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-05-30T12:30:42-05:00

feat(locales): add backend management messages and MTU hints in multiple languages

Changes
Diff

diff --git a/meshchatx/src/frontend/locales/de.json b/meshchatx/src/frontend/locales/de.json
index 43fa9a77..eec4f552 100644
--- a/meshchatx/src/frontend/locales/de.json
+++ b/meshchatx/src/frontend/locales/de.json
@@ -296,7 +296,13 @@
"loading_overlay_subtitle": "Chats und Einstellungen werden geladen. Das dauert meist nur wenige Sekunden.",
"emergency_mode_active": "Notfallmodus aktiv - In-Memory-Datenbank und eingeschränkte Dienste werden verwendet.",
"backend_disconnected": "Verbindung zum Backend getrennt",
+ "backend_process_stopped": "Reticulum-Backend gestoppt",
"backend_reconnected": "Wieder mit dem Backend verbunden",
+ "restart_backend": "Backend neu starten",
+ "restart_backend_started": "Backend wird neu gestartet…",
+ "restart_backend_failed": "Backend konnte nicht neu gestartet werden",
+ "view_backend_logs": "Absturzprotokoll anzeigen",
+ "view_backend_logs_failed": "Kein Absturzprotokoll verfügbar",
"blackhole_integration_enabled": "Blackhole-Integration",
"blackhole_integration_description": "Identitäten automatisch auf der Reticulum-Transportebene sperren (Blackhole), wenn Benutzer in MeshChatX verbannt werden.",
"announce_limits": "Ankündigungslimits",
@@ -905,6 +911,8 @@
"all_types": "Alle Typen",
"no_interfaces_found": "Keine Schnittstellen gefunden",
"no_interfaces_description": "Passen Sie Ihre Suche an oder fügen Sie eine neue Schnittstelle hinzu.",
+ "fixed_mtu_hint": "Optional. Falls gesetzt, mindestens {min} Bytes (Reticulum-Mindest-MTU).",
+ "fixed_mtu_min": "Feste MTU muss mindestens {min} Bytes sein (Reticulum-Minimum).",
"restart_required": "Neustart erforderlich",
"restart_description": "Reticulum MeshChatX muss neu gestartet werden, damit Schnittstellenänderungen wirksam werden.",
"restart_now": "Jetzt neu starten",
@@ -1033,6 +1041,8 @@
"tile_connectivity_retry": "Kacheln erneut laden",
"tile_connectivity_use_offline": "Offline-Modus",
"tile_connectivity_dismiss": "Schließen",
+ "tile_failover_trying": "Kartenkacheln fehlgeschlagen; versuche {provider}…",
+ "tile_failover_offline": "Online-Kacheln nicht verfügbar; wechsle in den Offline-Modus",
"search_no_results": "Keine Ergebnisse gefunden",
"custom_tile_server_unavailable": "Benutzerdefinierter Kachelserver ist im Offline-Modus nicht erreichbar",
"custom_nominatim_unavailable": "Benutzerdefinierter Nominatim-Server ist im Offline-Modus nicht erreichbar",
@@ -1225,6 +1235,8 @@
"share_contact_search_placeholder": "Kontakte durchsuchen…",
"opportunistic_deferred_label": "Wartend",
"opportunistic_deferred_tooltip": "Die Nachricht wird gesendet, sobald der Nutzer online ist oder eine Ankündigung sendet.",
+ "failed_waiting_announce": "Fehlgeschlagen, warte auf Ankündigung",
+ "failed_waiting_announce_tooltip": "Zustellung fehlgeschlagen. Wird automatisch erneut gesendet, sobald der Kontakt erreichbar ist.",
"no_messages_in_conversation": "Noch keine Nachrichten in diesem Gespräch.",
"say_hello": "Sag Hallo!",
"no_active_chat": "Kein aktiver Chat",

diff --git a/meshchatx/src/frontend/locales/es.json b/meshchatx/src/frontend/locales/es.json
index bf35d2c1..e762a51c 100644
--- a/meshchatx/src/frontend/locales/es.json
+++ b/meshchatx/src/frontend/locales/es.json
@@ -303,7 +303,13 @@
"loading_overlay_subtitle": "Carga tus chats y configuraciones. Esto normalmente lleva unos segundos.",
"emergency_mode_active": "Modo de Emergencia Activo - Utilizar bases de datos en memoria y servicios restringidos.",
"backend_disconnected": "Desconectado desde el backend",
+ "backend_process_stopped": "Backend de Reticulum detenido",
"backend_reconnected": "Reconnected to backend",
+ "restart_backend": "Reiniciar backend",
+ "restart_backend_started": "Reiniciando backend…",
+ "restart_backend_failed": "No se pudo reiniciar el backend",
+ "view_backend_logs": "Ver registro de fallos",
+ "view_backend_logs_failed": "No hay registro de fallos disponible",
"blackhole_integration_enabled": "Integración de los agujeros negros",
"blackhole_integration_description": "Identidades automáticamente de agujeros negros en la capa de transporte Reticulum al desterrar usuarios en MeshChatX.",
"announce_limits": "Anuncio Límites",
@@ -853,6 +859,8 @@
"all_types": "Todos los tipos",
"no_interfaces_found": "No hay interfaces encontradas",
"no_interfaces_description": "Ajuste su búsqueda o agregue una nueva interfaz.",
+ "fixed_mtu_hint": "Opcional. Si se define, debe ser al menos {min} bytes (MTU mínima de Reticulum).",
+ "fixed_mtu_min": "La MTU fija debe ser al menos {min} bytes (mínimo de Reticulum).",
"restart_required": "Reinicio requerido",
"restart_description": "Reticulum MeshChatX debe ser reiniciado para cualquier cambio de interfaz para tener efecto.",
"restart_now": "Reinicie ahora",
@@ -981,6 +989,8 @@
"tile_connectivity_retry": "Reintentar mosaicos",
"tile_connectivity_use_offline": "Modo sin conexión",
"tile_connectivity_dismiss": "Cerrar",
+ "tile_failover_trying": "Falló la carga de mosaicos; probando {provider}…",
+ "tile_failover_offline": "Mosaicos en línea no disponibles; cambiando a modo sin conexión",
"search_no_results": "No se han encontrado resultados",
"custom_tile_server_unavailable": "El servidor de baldosas personalizado no es accesible en modo offline",
"custom_nominatim_unavailable": "Nominatim servidor personalizado no es accesible en modo offline",
@@ -1296,6 +1306,8 @@
"failed_toggle_pin": "No podía actualizar el pin",
"opportunistic_deferred_label": "Esperando",
"opportunistic_deferred_tooltip": "El mensaje enviará tan pronto como el usuario venga en línea o anuncia.",
+ "failed_waiting_announce": "Falló, esperando anuncio",
+ "failed_waiting_announce_tooltip": "La entrega falló. Se reenviará automáticamente cuando el contacto sea alcanzable.",
"invalid_destination_hash": "Hacha de destino inválido",
"invalid_destination_hash_format": "Formato de hash destino inválido",
"ping_failed": "Ping falló. Inténtalo de nuevo más tarde.",

diff --git a/meshchatx/src/frontend/locales/fr.json b/meshchatx/src/frontend/locales/fr.json
index 083e57ba..197a832b 100644
--- a/meshchatx/src/frontend/locales/fr.json
+++ b/meshchatx/src/frontend/locales/fr.json
@@ -303,7 +303,13 @@
"loading_overlay_subtitle": "Chargement de vos chats et paramètres. Cela prend généralement quelques secondes.",
"emergency_mode_active": "Mode d'urgence actif - Utilisation de la base de données en mémoire et des services restreints.",
"backend_disconnected": "Déconnecté du moteur",
+ "backend_process_stopped": "Moteur Reticulum arrêté",
"backend_reconnected": "Reconnecté au moteur",
+ "restart_backend": "Redémarrer le moteur",
+ "restart_backend_started": "Redémarrage du moteur…",
+ "restart_backend_failed": "Impossible de redémarrer le moteur",
+ "view_backend_logs": "Voir le journal de crash",
+ "view_backend_logs_failed": "Aucun journal de crash disponible",
"blackhole_integration_enabled": "Intégration du trou noir",
"blackhole_integration_description": "Automatiquement des identités de trou noir à la couche de transport de Reticulum lors du bannissement des utilisateurs dans MeshChatX.",
"announce_limits": "Annonce des limites",
@@ -853,6 +859,8 @@
"all_types": "Tous types",
"no_interfaces_found": "Aucune interface trouvée",
"no_interfaces_description": "Ajustez votre recherche ou ajoutez une nouvelle interface.",
+ "fixed_mtu_hint": "Facultatif. Si défini, au moins {min} octets (MTU minimale Reticulum).",
+ "fixed_mtu_min": "La MTU fixe doit être d'au moins {min} octets (minimum Reticulum).",
"restart_required": "Redémarrage nécessaire",
"restart_description": "Reticulum MeshChatX doit être redémarré pour que toute modification d'interface prenne effet.",
"restart_now": "Redémarrer maintenant",
@@ -981,6 +989,8 @@
"tile_connectivity_retry": "Réessayer les tuiles",
"tile_connectivity_use_offline": "Mode hors ligne",
"tile_connectivity_dismiss": "Fermer",
+ "tile_failover_trying": "Échec des tuiles carte ; essai de {provider}…",
+ "tile_failover_offline": "Tuiles en ligne indisponibles ; passage en mode hors ligne",
"search_no_results": "Aucun résultat trouvé",
"custom_tile_server_unavailable": "Le serveur de tuiles personnalisé n'est pas accessible en mode hors ligne",
"custom_nominatim_unavailable": "Le serveur Nominatim personnalisé n'est pas accessible en mode hors ligne",
@@ -1296,6 +1306,8 @@
"failed_toggle_pin": "Impossible de mettre à jour la broche",
"opportunistic_deferred_label": "Attendre",
"opportunistic_deferred_tooltip": "Le message sera envoyé dès que l'utilisateur viendra en ligne ou annonce.",
+ "failed_waiting_announce": "Échec, en attente d'annonce",
+ "failed_waiting_announce_tooltip": "Livraison échouée. Renvoi automatique lorsque le contact sera joignable.",
"invalid_destination_hash": "Hash de destination invalide",
"invalid_destination_hash_format": "Format hash de destination non valide",
"ping_failed": "Ping a échoué. Essayez encore plus tard",

diff --git a/meshchatx/src/frontend/locales/it.json b/meshchatx/src/frontend/locales/it.json
index 0c32a1fc..4c9c33a7 100644
--- a/meshchatx/src/frontend/locales/it.json
+++ b/meshchatx/src/frontend/locales/it.json
@@ -303,7 +303,13 @@
"loading_overlay_subtitle": "Caricamento chat e impostazioni. Di solito bastano pochi secondi.",
"emergency_mode_active": "Modalità Emergenza Attiva - Utilizzo del database in memoria e servizi limitati.",
"backend_disconnected": "Disconnesso dal backend",
+ "backend_process_stopped": "Backend Reticulum arrestato",
"backend_reconnected": "Riconnesso al backend",
+ "restart_backend": "Riavvia backend",
+ "restart_backend_started": "Riavvio del backend…",
+ "restart_backend_failed": "Impossibile riavviare il backend",
+ "view_backend_logs": "Visualizza registro crash",
+ "view_backend_logs_failed": "Nessun registro crash disponibile",
"blackhole_integration_enabled": "Integrazione Blackhole",
"blackhole_integration_description": "Metti automaticamente in blackhole le identità a livello di trasporto Reticulum quando esili gli utenti in MeshChatX.",
"announce_limits": "Limiti annunci",
@@ -905,6 +911,8 @@
"all_types": "Tutti i tipi",
"no_interfaces_found": "Nessuna interfaccia trovata",
"no_interfaces_description": "Modifica la tua ricerca o aggiungi una nuova interfaccia.",
+ "fixed_mtu_hint": "Opzionale. Se impostata, almeno {min} byte (MTU minima Reticulum).",
+ "fixed_mtu_min": "L'MTU fissa deve essere almeno {min} byte (minimo Reticulum).",
"restart_required": "Riavvio richiesto",
"restart_description": "Reticulum MeshChatX deve essere riavviato affinché le modifiche alle interfacce abbiano effetto.",
"restart_now": "Riavvia ora",
@@ -1033,6 +1041,8 @@
"tile_connectivity_retry": "Riprova tessere",
"tile_connectivity_use_offline": "Modalità offline",
"tile_connectivity_dismiss": "Chiudi",
+ "tile_failover_trying": "Caricamento tessere mappa fallito; provo {provider}…",
+ "tile_failover_offline": "Tessere online non disponibili; passaggio alla modalità offline",
"search_no_results": "Nessun risultato trovato",
"custom_tile_server_unavailable": "Il server tile personalizzato non è accessibile in modalità offline",
"custom_nominatim_unavailable": "Il server Nominatim personalizzato non è accessibile in modalità offline",
@@ -1225,6 +1235,8 @@
"share_contact_search_placeholder": "Cerca contatti…",
"opportunistic_deferred_label": "In attesa",
"opportunistic_deferred_tooltip": "Il messaggio verrà inviato quando l'utente sarà online o invierà un annuncio.",
+ "failed_waiting_announce": "Fallito, in attesa di annuncio",
+ "failed_waiting_announce_tooltip": "Consegna fallita. Verrà reinviato automaticamente quando il contatto sarà raggiungibile.",
"no_messages_in_conversation": "Ancora nessun messaggio in questa conversazione.",
"say_hello": "Di' ciao!",
"no_active_chat": "Nessuna Chat Attiva",

diff --git a/meshchatx/src/frontend/locales/nl.json b/meshchatx/src/frontend/locales/nl.json
index e083cc4b..626bbb60 100644
--- a/meshchatx/src/frontend/locales/nl.json
+++ b/meshchatx/src/frontend/locales/nl.json
@@ -303,7 +303,13 @@
"loading_overlay_subtitle": "Uw chats en instellingen laden. Dit duurt meestal een paar seconden.",
"emergency_mode_active": "Noodmodus actief - Gebruik van in-geheugen database en beperkte diensten.",
"backend_disconnected": "Verbinding verbroken met backend",
+ "backend_process_stopped": "Reticulum-backend gestopt",
"backend_reconnected": "Verbinding met backend",
+ "restart_backend": "Backend herstarten",
+ "restart_backend_started": "Backend wordt herstart…",
+ "restart_backend_failed": "Backend kon niet worden herstart",
+ "view_backend_logs": "Crashlog bekijken",
+ "view_backend_logs_failed": "Geen crashlog beschikbaar",
"blackhole_integration_enabled": "Integratie van zwart gat",
"blackhole_integration_description": "Automatisch zwarte gat identiteiten op de Reticulum transport laag bij het verbannen van gebruikers in MeshChatX.",
"announce_limits": "Grenzen aankondigen",
@@ -853,6 +859,8 @@
"all_types": "Alle soorten",
"no_interfaces_found": "Geen interfaces gevonden",
"no_interfaces_description": "Pas uw zoekopdracht aan of voeg een nieuwe interface toe.",
+ "fixed_mtu_hint": "Optioneel. Indien ingesteld, minimaal {min} bytes (Reticulum minimum-MTU).",
+ "fixed_mtu_min": "Vaste MTU moet minimaal {min} bytes zijn (Reticulum-minimum).",
"restart_required": "Herstarten vereist",
"restart_description": "Reticulum MeshChatX moet opnieuw gestart worden om eventuele wijzigingen in de interface in werking te laten treden.",
"restart_now": "Herstart nu",
@@ -981,6 +989,8 @@
"tile_connectivity_retry": "Tegels opnieuw proberen",
"tile_connectivity_use_offline": "Offlinemodus",
"tile_connectivity_dismiss": "Sluiten",
+ "tile_failover_trying": "Kaarttegels mislukt; probeer {provider}…",
+ "tile_failover_offline": "Online tegels niet beschikbaar; overschakelen naar offline modus",
"search_no_results": "Geen resultaten gevonden",
"custom_tile_server_unavailable": "Aangepaste tile-server is niet toegankelijk in offline modus",
"custom_nominatim_unavailable": "Aangepaste Nominatim-server is niet toegankelijk in offline modus",
@@ -1296,6 +1306,8 @@
"failed_toggle_pin": "Kon pin niet bijwerken",
"opportunistic_deferred_label": "Wachten",
"opportunistic_deferred_tooltip": "Bericht zal verzenden zodra de gebruiker online komt of kondigt.",
+ "failed_waiting_announce": "Mislukt, wacht op aankondiging",
+ "failed_waiting_announce_tooltip": "Aflevering mislukt. Wordt automatisch opnieuw verzonden zodra het contact bereikbaar is.",
"invalid_destination_hash": "Ongeldige bestemming hash",
"invalid_destination_hash_format": "Ongeldig hash-formaat voor bestemming",
"ping_failed": "Ping faalde. Probeer het later opnieuw",

diff --git a/meshchatx/src/frontend/locales/ru.json b/meshchatx/src/frontend/locales/ru.json
index 01ce9fab..cd7b7edd 100644
--- a/meshchatx/src/frontend/locales/ru.json
+++ b/meshchatx/src/frontend/locales/ru.json
@@ -296,7 +296,13 @@
"loading_overlay_subtitle": "Загрузка чатов и настроек. Обычно это занимает несколько секунд.",
"emergency_mode_active": "Аварийный режим активен — используется база данных в оперативной памяти и ограниченные службы.",
"backend_disconnected": "Нет соединения с сервером",
+ "backend_process_stopped": "Сервер Reticulum остановлен",
"backend_reconnected": "Соединение с сервером восстановлено",
+ "restart_backend": "Перезапустить сервер",
+ "restart_backend_started": "Перезапуск сервера…",
+ "restart_backend_failed": "Не удалось перезапустить сервер",
+ "view_backend_logs": "Просмотр журнала сбоев",
+ "view_backend_logs_failed": "Журнал сбоев недоступен",
"blackhole_integration_enabled": "Интеграция Blackhole",
"blackhole_integration_description": "Автоматически блокировать (blackhole) личности на транспортном уровне Reticulum при изгнании пользователей в MeshChatX.",
"announce_limits": "Лимиты объявлений",
@@ -905,6 +911,8 @@
"all_types": "Все типы",
"no_interfaces_found": "Интерфейсы не найдены",
"no_interfaces_description": "Измените параметры поиска или добавьте новый интерфейс.",
+ "fixed_mtu_hint": "Необязательно. Если задано, не менее {min} байт (минимальный MTU Reticulum).",
+ "fixed_mtu_min": "Фиксированный MTU должен быть не менее {min} байт (минимум Reticulum).",
"restart_required": "Требуется перезапуск",
"restart_description": "Reticulum MeshChatX необходимо перезапустить, чтобы изменения вступили в силу.",
"restart_now": "Перезапустить сейчас",
@@ -1033,6 +1041,8 @@
"tile_connectivity_retry": "Повторить загрузку тайлов",
"tile_connectivity_use_offline": "Офлайн-режим",
"tile_connectivity_dismiss": "Закрыть",
+ "tile_failover_trying": "Не удалось загрузить тайлы карты; пробую {provider}…",
+ "tile_failover_offline": "Онлайн-тайлы недоступны; переключение в автономный режим",
"search_no_results": "Результаты не найдены",
"custom_tile_server_unavailable": "Пользовательский сервер тайлов недоступен в офлайн-режиме",
"custom_nominatim_unavailable": "Пользовательский сервер Nominatim недоступен в офлайн-режиме",
@@ -1225,6 +1235,8 @@
"share_contact_search_placeholder": "Поиск контактов…",
"opportunistic_deferred_label": "Ожидание",
"opportunistic_deferred_tooltip": "Сообщение отправится, когда пользователь будет в сети или отправит объявление.",
+ "failed_waiting_announce": "Ошибка, ожидание объявления",
+ "failed_waiting_announce_tooltip": "Доставка не удалась. Будет отправлено повторно, когда контакт станет доступен.",
"no_messages_in_conversation": "В этом чате пока нет сообщений.",
"say_hello": "Скажите привет!",
"no_active_chat": "Нет активного чата",

diff --git a/meshchatx/src/frontend/locales/zh.json b/meshchatx/src/frontend/locales/zh.json
index a2481740..5b6d92dc 100644
--- a/meshchatx/src/frontend/locales/zh.json
+++ b/meshchatx/src/frontend/locales/zh.json
@@ -303,7 +303,13 @@
"loading_overlay_subtitle": "正在加载您的聊天和设置。这通常需要几秒钟。",
"emergency_mode_active": "紧急模式激活 - 使用内存数据库和受限服务。",
"backend_disconnected": "后端已断开",
+ "backend_process_stopped": "Reticulum 后端已停止",
"backend_reconnected": "已重新连接到后端",
+ "restart_backend": "重启后端",
+ "restart_backend_started": "正在重启后端…",
+ "restart_backend_failed": "无法重启后端",
+ "view_backend_logs": "查看崩溃日志",
+ "view_backend_logs_failed": "无可用崩溃日志",
"blackhole_integration_enabled": "黑洞集成",
"blackhole_integration_description": "在 MeshChatX 中放逐用户时,Reticulum 传输层自动黑洞该身份。",
"announce_limits": "广播限制",
@@ -853,6 +859,8 @@
"all_types": "所有类型",
"no_interfaces_found": "未找到接口",
"no_interfaces_description": "调整搜索或添加新接口。",
+ "fixed_mtu_hint": "可选。若设置,至少 {min} 字节(Reticulum 最小 MTU)。",
+ "fixed_mtu_min": "固定 MTU 至少为 {min} 字节(Reticulum 最小值)。",
"restart_required": "需要重新启动",
"restart_description": "必须重新启动 Reticulum MeshChatX 才能使任何接口更改生效。",
"restart_now": "立即重新启动",
@@ -981,6 +989,8 @@
"tile_connectivity_retry": "重试瓦片",
"tile_connectivity_use_offline": "离线模式",
"tile_connectivity_dismiss": "关闭",
+ "tile_failover_trying": "地图瓦片加载失败;正在尝试 {provider}…",
+ "tile_failover_offline": "在线瓦片不可用;切换到离线模式",
"search_no_results": "未找到结果",
"custom_tile_server_unavailable": "自定义瓦片服务器在离线模式下不可用",
"custom_nominatim_unavailable": "自定义 Nominatim 服务器在离线模式下不可用",
@@ -1296,6 +1306,8 @@
"failed_toggle_pin": "无法更新置顶状态",
"opportunistic_deferred_label": "等待中",
"opportunistic_deferred_tooltip": "消息将在用户上线或广播后立即发送。",
+ "failed_waiting_announce": "失败,等待广播",
+ "failed_waiting_announce_tooltip": "投递失败。联系人可达后将自动重发。",
"invalid_destination_hash": "无效的目的地哈希",
"invalid_destination_hash_format": "无效的目的地哈希格式",
"ping_failed": "Ping 失败。请稍后再试。",


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────